# 第一阶段：构建应用
FROM maven:3.8.6-eclipse-temurin-17 AS builder

# 设置工作目录
WORKDIR /build

# 复制Maven配置文件
COPY ./maven-config/settings.xml /usr/share/maven/conf/settings.xml

# 复制整个项目结构（保留目录结构）
COPY . .

# 在父项目级别构建整个项目，使用本地仓库和自定义配置
RUN mvn clean package -DskipTests -Dmaven.repo.local=/root/.m2/repository

# 第二阶段：运行应用
FROM openjdk:17

# 设置工作目录
WORKDIR /app

# 从构建阶段复制构建好的JAR文件
COPY --from=builder /build/consumer-service/target/consumer-service-1.0-SNAPSHOT.jar app.jar

# 设置环境变量
ENV JAVA_OPTS="-Xms256m -Xmx512m"

# 暴露服务端口
EXPOSE 8082

# 暴露Dubbo QoS端口
EXPOSE 22224

# 启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]